The invention relates to a program controlled device including a memory storing a program of instructions and a control unit which includes an input circuit with a plurality of inputs to receive a plurality of input variables, a control circuit adapted to perform said instructions on said input variables and thus provide a value for a plurality of output variables, and an output circuit with a plurality of outputs via which said plurality of output variables can be collected.
Such a program controlled device, the control unit of which is adapted to carry out a number of logic operations on binary input variables in accordance with said program of instructions and for the purpose of obtaining binary output variables corresponding to the input set, is generally known as a programmable controller involving a succession of sets of values of input variables leading to a corresponding succession of values of output variables. The binary states of the above-mentioned input variables correspond for instance, to the closed or open conditions of a number of switches while the binary states of said output variables for instance, correspond to the energized de-energized condition of corresponding output devices such as solenoids, motor starters, etc.
In this known programmable controller the instruction program generally comprises a number of instructions which sequentially controls the execution of the AND, OR, INVERT operations needed for the evaluation of a Boolean expression, whereby the program is derived directly from this Boolean expression. Since each output variable may be a function of all of the input and output variables, the number of program instructions to be executed for obtaining an output variable depends on the number of prime implicants of the input and output variables and the simplest form of the Boolean expression with these prime implicants. For example, an expression with 5 variables (including possibly some or all of the output variables) may need about six prime implicants with three and four literals per implicant and may require the execution of 27 program instructions or steps. In such a case more than one instruction may be needed per input variable if this variable appears more than once in the above Boolean expression as is usually the case. Moreover, the program instructions are carried out independently from the binary value of the variables and in many cases the value of an output variable is already fixed after a number of instructions smaller than the total number of program instructions required per output variable.
More details about the preceding Boolean terminology used can for instance, be found on pages 61 to 109 of the book entitled "Logical Design of Digital Computers", 1959, by Montgomery Phister, Jr. and published by John Riley & Sons, Inc., New York.
From the above it follows that in certain cases a number of superfluous program steps are carried out to obtain the value of an output variable.